import {
	accessKey,
	API_SERVER_ADDRESS
} from "@/common/constants/api"

const BASE_URL = API_SERVER_ADDRESS + '/api/bizhi'
export function request(config = {}) {
	// 若config对象无method属性，则结构出来的method的默认值为 'get'
	const {
		url,
		method = 'get',
		header = {},
		data = {}
	} = config
	header['access-key'] = accessKey
	return new Promise((resolve, reject) => {
		// 即将发送网络请求，显示正在加载中
		uni.showLoading({
			title: '加载中...'
		})
		uni.request({
			url: `${BASE_URL}${url}`,
			method,
			header,
			data,
			success: (res) => {
				// 对返回的数据对象进行解构，仅得到用得到的数据
				let {
					data,
					errCode,
					errMsg
				} = res.data

				// errCode = 400
				if (errCode == 0) { // 操作成功
				
					//后续需要用到作者信息，不愿意该接口结果了，在加一个
		
					// 将返回的结果继续传递下去
					resolve(res.data)

				} else if (errCode == 400) {
					uni.showModal({
						title: '错误提示',
						content: errMsg || '该操作失败!',
						showCancel: false
					})
					// reject之后，最终的Promise调用会出现一个异常
					reject(res.data)
				} else {
					uni.showToast({
						icon: 'error',
						title: errMsg || '加载数据失败!'
					})
					reject(res.data)
				}
			},
			fail: (err) => {
				reject(err) // 调用后台接口失败，停止继续往下传递
			},
			complete: () => {
				uni.hideLoading() // 取消加载
			}
		})
	})
}